package com.fyb.basic.juc.masterWork;

/**
 * 累加1~1000000
 * 分析:可以对累加进行拆分成很多个子任务，每个任务负责累加一部分，将每个子任务得到的结果进行归并。
 */
public class NumAddTask extends Task<Long> {

    private final long init;

    public NumAddTask(long init) {
        this.init = init;
    }


    @Override
    protected Long exec() {
        long res = 0;
        // 每个线程累加10万
        for (int i = 0; i < 100000; i++) {
            res += i + init;
        }
        System.out.println("NumAddTask exec res = " + res);
        return res;

    }
}
